package com.kerrykidz.scminvoicing.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.kerrykidz.scminvoicing.dao.model.ScmPrdPriceEntity;
import com.rdp.framework.exception.RDPException;
@Repository
public interface ScmPrdPriceEntityMapper {
	/**
	 * 
	*
	* @Title: findPriceInfoForBranch
	* @Description: <p>获取门店所有的定价信息<p>
	* <pre>
		这里描述这个方法的使用方法 – 可选
	* </pre>
	* @param: <p>@param entity
	* @param: <p>@return<p>
	* @date: 2014年8月28日
	* @return: ScmPrdPriceEntity
	* @throws 
	*
	 */
	public	 List<ScmPrdPriceEntity>	 findPriceInfoForBranch(ScmPrdPriceEntity entity)throws RDPException;
	/**
	 * 保存门店的定价信息
	 * @throws RDPException
	 * @date: 2014年9月1日
	 */
	public void savePriceForBranch(ScmPrdPriceEntity entity)throws RDPException;
	/**
	 * 修改
	 * @param entity
	 * @throws RDPException
	 * @date: 2014年9月3日
	 */
	public void updatePriceForBranch(ScmPrdPriceEntity entity)throws RDPException;
	
	/**
	 * 获取门店定价的信息
	 * @param pkPriceId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月4日
	 */
	public ScmPrdPriceEntity findPriceForBranchById(@Param("pkPriceId")String pkPriceId)throws RDPException;
	
	/**
	 * 修改门店的数据
	 * @param entity
	 * @throws RDPException
	 * @date: 2014年9月4日
	 */
	public void deleteOldPrice(@Param("fkPrdId")String fkPrdId,@Param("fkBranId")String fkBranId)throws RDPException;
	
	/**
	 * 查询指定门店的历史定价数据
	 * @param fkPrdId
	 * @param fkBranId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月12日
	 */
	public List<ScmPrdPriceEntity>  findHistoryForBranch(ScmPrdPriceEntity  entity)throws RDPException;
	/**
	 *  查询上一次已经生效的门店定价，并将定价置为历史
	 * @param fkPrdId
	 * @param fkBranId
	 * @return
	 * @date: 2014年9月19日
	 */
	public ScmPrdPriceEntity findEffectPric(@Param("fkPrdId")String fkPrdId,@Param("fkBranId")String fkBranId);
	/**
	 * 删除草稿状态的定价信息
	 * @param pkPriceId
	 * @throws RDPException
	 * @date: 2014年9月29日
	 */
	public  void deleteTempPrice(@Param("pkPriceId")String pkPriceId)throws RDPException;
	
}